--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
src/misc/FIFOBuffer.c HEAD (a42f8d32) Text, 1.85 KB
Tff7b72#Tff7b72include T8b949e<stdint.h>
Tff7b72#Tff7b72include T8b949e<stdbool.h>
Tff7b72#Tff7b72include T8b949e<stddef.h>
Tff7b72#Tff7b72include T8b949e"FIFOBuffer.h"
Tff7b72#Tff7b72ifdef __cplusplus
Tff7b72extern Ta5d6ff"Ta5d6ffCTa5d6ff" Tb4b4b4{
Tff7b72#Tff7b72endif
Tffa657bool Td2a8fffifo_isemptyTb4b4b4(Tff7b72const Te6edf3FIFOBuffer Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3tailTb4b4b4;
Tb4b4b4}
Tffa657bool Td2a8fffifo_isfullTb4b4b4(Tff7b72const Te6edf3FIFOBuffer Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4) Tff7b72&Tff7b72& Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4)Tb4b4b4) Tff7b72|Tff7b72| Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8fffifo_pushTb4b4b4(Te6edf3FIFOBuffer Tff7b72*Te6edf3fTb4b4b4, Tffa657unsigned Tffa657char Te6edf3cTb4b4b4) Tb4b4b4{
Tff7b72*Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tailTb4b4b4) Tff7b72= Te6edf3cTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3tailTff7b72+Tff7b72+Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657unsigned Tffa657char Td2a8fffifo_popTb4b4b4(Te6edf3FIFOBuffer Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72ifTb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4;
Tff7b72return Tff7b72*Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72return Tff7b72*Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3headTff7b72+Tff7b72+Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657void Td2a8fffifo_flushTb4b4b4(Te6edf3FIFOBuffer Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3tailTb4b4b4;
Tb4b4b4}
Tffa657void Td2a8fffifo_initTb4b4b4(Te6edf3FIFOBuffer Tff7b72*Te6edf3fTb4b4b4, Tffa657unsigned Tffa657char Tff7b72*Te6edf3bufferTb4b4b4, Tffa657size_t Te6edf3sizeTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3begin Tff7b72= Te6edf3bufferTb4b4b4;
Te6edf3fTff7b72-Tff7b72>Te6edf3end Tff7b72= Te6edf3buffer Tff7b72+ Te6edf3sizeTb4b4b4;
Tb4b4b4}
T8b949e// todo, fix this so it actually displays the amount of data in the fifo
T8b949e// buffer, not just the size allocated for the buffer
Tffa657size_t Td2a8fffifo_lenTb4b4b4(Te6edf3FIFOBuffer Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fTff7b72-Tff7b72>Te6edf3end Tff7b72- Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4;
Tb4b4b4}
Tffa657bool Td2a8fffifo16_isemptyTb4b4b4(Tff7b72const Te6edf3FIFOBuffer16 Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3tailTb4b4b4;
Tb4b4b4}
Tffa657bool Td2a8fffifo16_isfullTb4b4b4(Tff7b72const Te6edf3FIFOBuffer16 Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4) Tff7b72&Tff7b72& Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4)Tb4b4b4) Tff7b72|Tff7b72| Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8fffifo16_pushTb4b4b4(Te6edf3FIFOBuffer16 Tff7b72*Te6edf3fTb4b4b4, Tffa657uint16_t Te6edf3cTb4b4b4) Tb4b4b4{
Tff7b72*Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tailTb4b4b4) Tff7b72= Te6edf3cTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3tailTff7b72+Tff7b72+Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657uint16_t Td2a8fffifo16_popTb4b4b4(Te6edf3FIFOBuffer16 Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72ifTb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72=Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4;
Tff7b72return Tff7b72*Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3endTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72return Tff7b72*Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3headTff7b72+Tff7b72+Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657void Td2a8fffifo16_flushTb4b4b4(Te6edf3FIFOBuffer16 Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3tailTb4b4b4;
Tb4b4b4}
Tffa657void Td2a8fffifo16_initTb4b4b4(Te6edf3FIFOBuffer16 Tff7b72*Te6edf3fTb4b4b4, Tffa657uint16_t Tff7b72*Te6edf3bufferTb4b4b4, Tffa657uint16_t Te6edf3sizeTb4b4b4) Tb4b4b4{
Te6edf3fTff7b72-Tff7b72>Te6edf3head Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3tail Tff7b72= Te6edf3fTff7b72-Tff7b72>Te6edf3begin Tff7b72= Te6edf3bufferTb4b4b4;
Te6edf3fTff7b72-Tff7b72>Te6edf3end Tff7b72= Te6edf3buffer Tff7b72+ Te6edf3sizeTb4b4b4;
Tb4b4b4}
Tffa657uint16_t Td2a8fffifo16_lenTb4b4b4(Te6edf3FIFOBuffer16 Tff7b72*Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3fTff7b72-Tff7b72>Te6edf3end Tff7b72- Te6edf3fTff7b72-Tff7b72>Te6edf3beginTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72#Tff7b72ifdef __cplusplus
Tb4b4b4}
Tff7b72#Tff7b72endif
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────